{ pkgs, ... }: {
  programs.vscode = {
    enable = true;
    enableUpdateCheck = false;
    extensions = with pkgs.vscode-extensions; [
      ms-vscode-remote.remote-ssh
      naumovs.color-highlight
      usernamehw.errorlens
      jnoortheen.nix-ide
      eamodio.gitlens
      mkhl.direnv
    ];
    keybindings = [
      {
        key = "ctrl+enter";
        command = "workbench.action.terminal.toggleTerminal";
        when = "terminal.active";
      }
    ];
    userSettings = {
      "[nix]" = {
        "editor.insertSpaces" = true;
        "editor.tabSize" = 2;
      };
      "nix.enableLanguageServer" = true;
      "nix.serverPath" = "nixd";

      "editor.rulers" = [ 120 ];
      "editor.fontSize" = 13;
      "editor.lineHeight" = 21;
      "editor.fontLigatures" = true;
      "editor.minimap.enabled" = false;
      "editor.guides.bracketPairs" = true;
      "editor.guides.bracketPairsHorizontal" = true;
      "editor.fontFamily" = "'FiraCode Nerd Font', 'Font Awesome 6 Brands', 'Font Awesome 6 Free', 'Font Awesome 6 Free Solid'";
      "editor.folding" = false;
      "editor.smoothScrolling" = true;
      "editor.detectIndentation" = true;
      "editor.suggestSelection" = "first";
      "editor.scrollBeyondLastLine" = true;
      "editor.renderControlCharacters" = false;
      "editor.unicodeHighlight.ambiguousCharacters" = false;
      "editor.quickSuggestionsDelay" = 0;
      "editor.glyphMargin" = false;
      "editor.accessibilitySupport" = "off";
      "editor.cursorSmoothCaretAnimation" = "on";
      "editor.inlineSuggest.enabled" = true;

      "workbench.activityBar.location" = "top";
      "workbench.layoutControl.enabled" = false;
      
      "window.commandCenter" = false;
      "window.titleBarStyle" = "custom";
      "window.density.editorTabHeight" = "compact";
      "window.confirmBeforeClose" = "keyboardOnly";
      "window.menuBarVisibility" = "hidden";

      "explorer.confirmDelete" = false;
      "explorer.compactFolders" = false;
      "explorer.confirmDragAndDrop" = false;

      "debug.toolBarLocation" = "hidden";
      "debug.focusWindowOnBreak" = false;
      

      "debug.showInlineBreakpointCandidates" = false;
      "debug.showBreakpointsInOverviewRuler" = false;

      "breadcrumbs.enabled" = false;

      "security.workspace.trust.untrustedFiles" = "open";

      "terminal.integrated.fontSize" = 12;

      "telemetry.telemetryLevel" = "off";

      # | activityBar | sideBar |______________________
      # |             |         |       tab
      # |             |         |______________________
      # |             |         |
      # |             |         |
      # |             |         |     editor
      # |             |         |
      # |             |         |
      # |             |         |----------------------
      # |             |         |    terminal
      # |             |         |
      # |             |         |----------------------
      # _______________________________________________
      #         statusBar
      # _______________________________________________

      "workbench.colorCustomizations" = {

        # ----------- base ---------------

        "focusBorder" = "#7EBAE4";
        "icon.foreground" = "#919191";

        "textLink.foreground" = "#7EBAE4";
        "textLink.activeForeground" = "#7EBAE4";

        # ----------- input ---------------

        "input.background" = "#121212";
        "input.border" = "#202020";
        "input.foreground" = "#fff";
        "input.placeholderForeground" = "#919191";

        # ----------- activityBar ---------------

        "activityBar.background" = "#202020";
        "activityBar.border" = "#202020";
        "activityBar.activeBorder" = "#7EBAE4";
        "activityBar.activeBackground" = "#313131";
        "activityBar.foreground" = "#fff";
        "activityBarBadge.background" = "#7EBAE4";
        "activityBarBadge.foreground" = "#000";

        # ----------- sideBar ---------------

        "sideBar.background" = "#171717";
        "sideBar.border" = "#202020";
        "sideBar.foreground" = "#919191";

        "sideBarSectionHeader.background" = "#202020";
        "sideBarSectionHeader.border" = "#202020";

        # ----------- tab ---------------

        "tab.activeBorder" = "#7EBAE4";
        "tab.activeBorderTop" = "#171717";
        "tab.activeModifiedBorder" = "#7EBAE4";
        "tab.activeForeground" = "#FFFFFF";

        "tab.inactiveForeground" = "#7d7c7c";
        "tab.inactiveBackground" = "#171717";

        "tab.unfocusedActiveBorder" = "#818181";
        "tab.unfocusedActiveForeground" = "#FFFFFF";

        "tab.hoverForeground" = "#fff";

        "tab.border" = "#202020";

        # ----------- breadcrumb ---------------

        "breadcrumb.background" = "#121212";
        "breadcrumb.foreground" = "#919191";
        "breadcrumb.focusForeground" = "#FFFFFF";
        "breadcrumb.activeSelectionForeground" = "#FFFFFF";
        "breadcrumbPicker.background" = "#121212";


        # ----------- editor ---------------

        "editor.background" = "#121212";

        "editor.selectionBackground" = "#61616150";
        "editor.selectionHighlightBackground" = "#FFCC0020";

        "editorInfo.foreground" = "#82AAFF70";
        "editorWarning.foreground" = "#FFCB6B70";
        "editorError.foreground" = "#FF537070";

        "editorGutter.modifiedBackground" = "#82AAFF70";
        "editorGutter.addedBackground" = "#C3E88D70";
        "editorGutter.deletedBackground" = "#FF537070";

        "editor.findMatchBackground" = "#171717";
        "editor.findMatchBorder" = "#202020";
        "editor.findMatchHighlightBorder" = "#7EBAE4";

        "editorOverviewRuler.findMatchForeground" = "#7EBAE4";
        "editorOverviewRuler.border" = "#202020";
        "editorOverviewRuler.errorForeground" = "#82AAFF70";
        "editorOverviewRuler.infoForeground" = "#FFCB6B70";
        "editorOverviewRuler.warningForeground" = "#FFCB6B70";

        # ----------- terminal ---------------

        "terminal.background" = "#121212";
        "terminal.border" = "#202020";

        # ----------- statusBar ---------------

        "statusBar.background" = "#202020";
        "statusBar.foreground" = "#919191";
        "statusBar.border" = "#313131";

        "statusBar.noFolderBackground" = "#7EBAE4";

        "statusBar.debuggingBackground" = "#7EBAE4";
        "statusBar.debuggingForeground" = "#000";

        "statusBarItem.hoverBackground" = "#313131";
        "statusBarItem.hoverForeground" = "#FFFFFF";

        "statusBarItem.remoteBackground" = "#7EBAE4";
        "statusBarItem.remoteForeground" = "#000";

        "statusBarItem.errorBackground" = "#FF537070";
        "statusBarItem.errorForeground" = "#FFFFFF";

        "statusBarItem.warningBackground" = "#FFCB6B70";
        "statusBarItem.warningForeground" = "#FFFFFF";

        # ----------- editorCursor ---------------

        "editorCursor.foreground" = "#7EBAE4";
      };

      "editor.semanticTokenColorCustomizations" = {
        enabled = true;
        rules = {
          "*.mutable" = {
            underline = false;
          };
        };
      };

      "editor.tokenColorCustomizations" = {
        textMateRules = [
          {
            name = "Comment";
            scope = [
              "comment"
              "punctuation.definition.comment"
              "string.quoted.docstring"
            ];
            settings = {
              fontStyle = "italic";
              foreground = "#545454";
            };
          }
          {
            name = "String, Symbols, Inherited Class, Markup Heading";
            scope = [
              "string"
              "constant.other.symbol"
              "constant.other.key"
              "entity.other.inherited-class"
              "markup.heading"
              "markup.inserted.git_gutter"
              "meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js"
            ];
            settings = {
              foreground = "#82AAFF";
            };
          }
          {
            name = "Variables";
            scope = [
              "variable"
            ];
            settings = {
              foreground = "#EEFFFF";
            };
          }
          {
            name = "variable.parameter";
            scope = [
              "variable.parameter"
            ];
            settings = {
              foreground = "#FF5370";
            };
          }
          {
            name = "Class";
            scope = [
              "entity.name.type"
              "entity.name.namespace"
              "entity.name.class"
              "entity.name.type.class"
            ];
            settings = {
              foreground = "#FFCB6B";
            };
          }
          {
            name = "Keywords";
            scope = [
              "keyword"
              "keyword.control"
              "keyword.operator"
            ];
            settings = {
              foreground = "#C792EA";
              fontStyle = "italic";
            };
          }
          {
            name = "Constants, Numbers";
            scope = [
              "constant.numeric"
              "constant.language"
            ];
            settings = {
              foreground = "#F78C6C";
            };
          }
          {
            name = "Macros";
            scope = [
              "variable.other.constant"
            ];
            settings = {
              foreground = "#9CDCFE";
            };
          }
          {
            name = "Funtions";
            scope = [
              "entity.name.function"
            ];
            settings = {
              foreground = "#82AAFF";
            };
          }
        ];
      };
    };
  };
}